// 作者:于大明
// 职责：只存放api的请求的接口的数据

//-------------------------Service引入----------------------------------
import MBProductHistory from '@/service/07MB/MBProductHistoryAppService.js';

let mixinApi = {
    // 负责程序中需要进行set的数据 就是页面交互需要改的数据 比如点击checkbox 需要设置true false 和存放ajax的输入输出 (尽量少去定义data里面的属性 多用computed或者filters或者组件进行处理) 
    // 1 能不能在页面单行代码实现
    // 2 能不能不用data methods去实现这个功能
    data() {
		// const storeID = this.$globalData.userInfo.currentStoreId;
		// const cwCompanyID = this.$globalData.userInfo.cwCompanyID;
		// const query=this.$util.getQueryObj();
        return {
            //---------------------接口输入输出 接口名称+in/out 命名 列如接口名称是getStudentList----------------------
            // 一些常用参数如下
            // storeId: '', // 门店ID
            // marketerID: '', // 销售经理
            // pageIndex: 1, // 第几页
            // pageSize: 20, // 每页多少条
            // orderBy: 'createTime desc' // 排序

            // -------------------------Url的参数获取-----------------------------------------------------------------
            queryObj: {
                id: '' // 参数描述
            },

            
            // 接口输入参数
            getProductHisLstIn: {
				"userInfoGUID": this.$globalData.userInfo.id,
				"pageIndex":1,
				isPullDown:false
            },
            // 接口输出参数
            getProductHisLstOut: {
                datas: [], // 返回的datas数组数据
                // data:{}, // 返回data的数据
                rowCount: 0 // 总共多少条数据
            },
        };
    },
    // 负责和页面事件进行交互
    methods: {
        
        async getProductHisLst() {
			for (let i = 0; i < 20; i++) {
			    this.getProductHisLstOut.datas.push({id:null});
			}
			
			let myPageList = await MBProductHistory.GetProductHisLst(this.getProductHisLstIn, null, null, false);
			myPageList.datas.forEach(item => item.getProductHisLstIn = this.$util.deepCopy(this.getProductHisLstIn));
			this.getProductHisLstOut.datas=this.getProductHisLstOut.datas.filter(x=>x.id); // 去掉加载效果
			
			// 第一次加载
			if (this.getProductHisLstIn.pageIndex == 1) {
				uni.pageScrollTo({
					scrollTop: 0
				})
				this.getProductHisLstOut = myPageList;
			} else if (this.getProductHisLstOut.rowCount > this.getProductHisLstOut.datas.length) {
				this.getProductHisLstOut.datas.push(...myPageList.datas);
			}
			
			uni.stopPullDownRefresh();
			
        },
    },
}
export default mixinApi;